#include <iostream>
#include <future>
#include <chrono>
#include <thread>

// 一个简单的函数用于模拟工作
int computeSquare(int number) {
    std::this_thread::sleep_for(std::chrono::seconds(2)); // 模拟耗时任务
    return number * number;
}

int main() {
    // 使用std::async异步启动computeSquare函数
    std::future<int> futureResult = std::async(std::launch::async, computeSquare, 5);
    
    std::cout << "在等待结果的同时做其他工作...\n";
    
    // 获取结果（这将阻塞直到异步操作完成）
    int result = futureResult.get();
    std::cout << "结果: " << result << std::endl;
    
    return 0;
}